win32: Use a separate css file for xp
authorAlexander Larsson <alexl@redhat.com>
Tue, 13 Mar 2012 14:13:17 +0000 (15:13 +0100)
committerAlexander Larsson <alexl@redhat.com>
Tue, 13 Mar 2012 14:14:36 +0000 (15:14 +0100)
Only vista and later has e.g. the menu theme parts

gtk/Makefile.am
gtk/gtk-win32-base.css [new file with mode: 0644]
gtk/gtk-win32-xp.css [new file with mode: 0644]
gtk/gtk-win32.css
gtk/gtk.gresource.xml
gtk/gtksettings.c

index 41e42d5b281d0ebcb0e959f4589a6b56979516a2..e40232edb961b0ec9e31237764f0527062fc0722 100644 (file)
@@ -954,7 +954,9 @@ gtk_extra_sources =                         \
        gen-paper-names.c                       \
        gtkstatusicon-quartz.c                  \
        gtk.symbols                             \
+       gtk-win32-base.css                      \
        gtk-win32.css                           \
+       gtk-win32-xp.css                        \
        gtkversion.h.in                         \
        gtkmarshalers.list                      \
        fallback-c89.c
diff --git a/gtk/gtk-win32-base.css b/gtk/gtk-win32-base.css
new file mode 100644 (file)
index 0000000..d9a8e6e
--- /dev/null
@@ -0,0 +1,733 @@
+@define-color bg_color -gtk-win32-color(button, 15);\r
+@define-color text_color -gtk-win32-color(button, 18);\r
+@define-color base_color #fff;\r
+@define-color selected_bg_color -gtk-win32-color(button, 13);\r
+@define-color selected_fg_color -gtk-win32-color(button, 14);\r
+@define-color info_fg_color rgb (181, 171, 156);\r
+@define-color info_bg_color rgb (252, 252, 189);\r
+@define-color warning_fg_color rgb (173, 120, 41);\r
+@define-color warning_bg_color rgb (250, 173, 61);\r
+@define-color question_fg_color rgb (97, 122, 214);\r
+@define-color question_bg_color rgb (138, 173, 212);\r
+@define-color error_fg_color rgb (166, 38, 38);\r
+@define-color error_bg_color rgb (237, 54, 54);\r
+\r
+GtkWindow,\r
+GtkViewport {\r
+    background-color: @bg_color;\r
+}\r
+\r
+* {\r
+    color: -gtk-win32-color(button, 18);\r
+    -GtkWidget-link-color: -gtk-win32-color(button, 26);\r
+    -GtkWidget-visited-link-color: -gtk-win32-color(button, 26);\r
+    border-color: shade (@bg_color, 0.6);\r
+}\r
+\r
+GtkFrame {\r
+    border-width: 2px;\r
+    border-style: solid;\r
+    background-color: transparent;\r
+    border-image: -gtk-win32-theme-part(button, 4 1) 2 2 2 2 stretch;\r
+}\r
+\r
+*:insensitive {\r
+    color: -gtk-win32-color(button, 17);\r
+}\r
+\r
+*:selected,\r
+*:selected:focus {\r
+    background-color: @selected_bg_color;\r
+    color: @selected_fg_color;\r
+}\r
+\r
+.info {\r
+    background-color: @info_bg_color;\r
+    color: @info_fg_color;\r
+}\r
+\r
+.warning {\r
+    background-color: @warning_bg_color;\r
+    color: @warning_fg_color;\r
+}\r
+\r
+.question {\r
+    background-color: @question_bg_color;\r
+    color: @question_fg_color;\r
+}\r
+\r
+.error {\r
+    background-color: @error_bg_color;\r
+    color: @error_fg_color;\r
+}\r
+\r
+.highlight {\r
+    background-color: @selected_bg_color;\r
+    color: @selected_fg_color;\r
+}\r
+\r
+.light-area-focus {\r
+    color: #000;\r
+}\r
+\r
+.dark-area-focus {\r
+    color: #fff;\r
+}\r
+\r
+.view {\r
+  border-width: 0;\r
+  border-radius: 0;\r
+  background-color: @base_color;\r
+  color: @text_color;\r
+}\r
+\r
+.view:selected {\r
+  background-color: shade (@bg_color, 0.9);\r
+  color: @fg_color;\r
+}\r
+\r
+.view:selected:focused {\r
+  background-color: @selected_bg_color;\r
+  color: @selected_fg_color;\r
+}\r
+\r
+.tooltip {\r
+    background-color: -gtk-win32-color(button, 24);\r
+    color: -gtk-win32-color(button, 23);\r
+    border-width: 1px;\r
+    border-style: solid;\r
+}\r
+\r
+.tooltip * {\r
+    color: -gtk-win32-color(button, 23);\r
+}\r
+\r
+GtkAssistant .sidebar .highlight {\r
+    font: bold;\r
+    color:  -gtk-win32-color(button, 9);\r
+}\r
+\r
+/* Buttons */\r
+\r
+.button {\r
+    color: -gtk-win32-color(button, 18);\r
+    background-color: transparent;\r
+    background-image: -gtk-win32-theme-part(button, 1 1);\r
+    border-width: 0;\r
+    -GtkWidget-focus-line-width: 1;\r
+    -GtkWidget-focus-padding: 3;\r
+    -GtkButton-interior-focuse: true;\r
+    padding: 3px;\r
+}\r
+\r
+.button:insensitive {\r
+    background-image: -gtk-win32-theme-part(button, 1 4);\r
+}\r
+\r
+.button:focused {\r
+    background-image: -gtk-win32-theme-part(button, 1 5);\r
+}\r
+\r
+.button:prelight, .button:prelight:focused {\r
+    background-image: -gtk-win32-theme-part(button, 1 2);\r
+    color: #000000;\r
+}\r
+\r
+.button:active, .button:active:focused, .button:active:focused:prelight {\r
+    background-image: -gtk-win32-theme-part(button, 1 3);\r
+}\r
+\r
+/* Check buttons */\r
+\r
+.check {\r
+    background-color: transparent;\r
+    background-image: -gtk-win32-theme-part(button, 3 1);\r
+    border-width: 0;\r
+}\r
+\r
+.check:insensitive {\r
+    background-image: -gtk-win32-theme-part(button, 3 4);\r
+}\r
+\r
+.check:prelight {\r
+    background-image: -gtk-win32-theme-part(button, 3 2);\r
+}\r
+\r
+.check:active {\r
+    background-image: -gtk-win32-theme-part(button, 3 5);\r
+}\r
+\r
+.check:active:insensitive {\r
+    background-image: -gtk-win32-theme-part(button, 3 8);\r
+}\r
+\r
+.check:active:prelight {\r
+    background-image: -gtk-win32-theme-part(button, 3 6);\r
+}\r
+\r
+.check:inconsistent {\r
+    background-image: -gtk-win32-theme-part(button, 3 9);\r
+}\r
+\r
+.check:inconsistent:insensitive {\r
+    background-image: -gtk-win32-theme-part(button, 3 12);\r
+}\r
+\r
+.check:inconsistent:prelight {\r
+    background-image: -gtk-win32-theme-part(button, 3 10);\r
+}\r
+\r
+/* Radio buttons */\r
+\r
+.radio {\r
+    background-color: transparent;\r
+    background-image: -gtk-win32-theme-part(button, 2 1);\r
+    border-width: 0;\r
+}\r
+\r
+.radio:insensitive {\r
+    background-image: -gtk-win32-theme-part(button, 2 4);\r
+}\r
+\r
+.radio:prelight {\r
+    background-image: -gtk-win32-theme-part(button, 2 2);\r
+}\r
+\r
+.radio:active {\r
+    background-image: -gtk-win32-theme-part(button, 2 5);\r
+}\r
+\r
+.radio:active:insensitive {\r
+    background-image: -gtk-win32-theme-part(button, 2 8);\r
+}\r
+\r
+.radio:active:prelight {\r
+    background-image: -gtk-win32-theme-part(button, 2 6);\r
+}\r
+\r
+.radio:inconsistent {\r
+    background-image: -gtk-win32-theme-part(button, 2 1, over (2 5, 0.3));\r
+}\r
+\r
+.radio:inconsistent:insensitive {\r
+    background-image: -gtk-win32-theme-part(button, 2 4, over (2 8, 0.3));\r
+}\r
+\r
+.radio:inconsistent:prelight {\r
+    background-image: -gtk-win32-theme-part(button, 2 4, over(2 6, 0.3));\r
+}\r
+\r
+/* Scrollbars */\r
+\r
+/* TODO: Win32 has different concept for upper and lower trough, we\r
+   don't use this atm */\r
+\r
+.scrollbar {\r
+    background-color: transparent;\r
+    -GtkRange-trough-border: 0;\r
+    -GtkRange-arrow-scaling: 0.0;\r
+    -GtkRange-slider-width: -gtk-win32-size(scrollbar, 3);\r
+}\r
+\r
+.scrollbar.vertical {\r
+    -GtkRange-slider-width: -gtk-win32-size(scrollbar, 2);\r
+}\r
+\r
+.scrollbar.button.bottom {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 5);\r
+}\r
+\r
+.scrollbar.button.bottom:prelight {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 6);\r
+}\r
+\r
+.scrollbar.button.bottom:active,\r
+.scrollbar.button.bottom:active:prelight {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 7);\r
+}\r
+\r
+.scrollbar.button.bottom:insensitive {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 8);\r
+}\r
+\r
+.scrollbar.button.top {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 1);\r
+}\r
+\r
+.scrollbar.button.top:prelight {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 2);\r
+}\r
+\r
+.scrollbar.button.top:active,\r
+.scrollbar.button.top:active:prelight {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 3);\r
+}\r
+\r
+.scrollbar.button.top:insensitive {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 4);\r
+}\r
+\r
+.scrollbar.button.left {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 9);\r
+}\r
+\r
+.scrollbar.button.left:prelight {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 10);\r
+}\r
+\r
+.scrollbar.button.left:active,\r
+.scrollbar.button.left:active:prelight {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 11);\r
+}\r
+\r
+.scrollbar.button.left:insensitive {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 12);\r
+}\r
+\r
+.scrollbar.button.right {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 13);\r
+}\r
+\r
+.scrollbar.button.right:prelight {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 14);\r
+}\r
+\r
+.scrollbar.button.right:active,\r
+.scrollbar.button.right:active:prelight {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 15);\r
+}\r
+\r
+.scrollbar.button.right:insensitive {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 1 16);\r
+}\r
+\r
+.scrollbar.trough {\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(scrollbar, 2 1, over (4 1));\r
+}\r
+\r
+.scrollbar.trough.vertical {\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(scrollbar, 2 1, over (6 1));\r
+}\r
+\r
+.scrollbar.slider {\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(scrollbar, 2 1, over (8 1));\r
+}\r
+\r
+.scrollbar.slider:prelight {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 2 2, over (8 2));\r
+}\r
+\r
+.scrollbar.slider.vertical {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 3 1, over (9 1));\r
+}\r
+\r
+.scrollbar.slider.vertical:prelight {\r
+    background-image: -gtk-win32-theme-part(scrollbar, 3 2, over (9 2));\r
+}\r
+\r
+/* Entry */\r
+\r
+/* TODO: For entries with set_has_frame FALSE we should use 'edit, 3 1', not \r
+   sure how to select for this though */\r
+.entry {\r
+    background-color: black;\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(edit, 1 1);\r
+    padding: 3px;\r
+}\r
+.entry:insensitive {\r
+    background-image: -gtk-win32-theme-part(edit, 1 4);\r
+}\r
+.entry:prelight {\r
+    background-image: -gtk-win32-theme-part(edit, 1 4);\r
+}\r
+\r
+/* Spinbuttons */\r
+\r
+.spinbutton.button,\r
+.spinbutton.button:focused {\r
+    background-color: transparent;\r
+    border-width: 1px 1px 0 0;\r
+    border-style: none;\r
+    background-image: -gtk-win32-theme-part(spin, 1 1);\r
+    color: rgba(0, 0, 0, 0);\r
+}\r
+\r
+.spinbutton.button:prelight,\r
+.spinbutton.button:prelight:focused {\r
+    background-image: -gtk-win32-theme-part(spin, 1 2);\r
+    color: rgba(0, 0, 0, 0);\r
+}\r
+\r
+.spinbutton.button:active,\r
+.spinbutton.button:active:prelight {\r
+    background-image: -gtk-win32-theme-part(spin, 1 3);\r
+    color: rgba(0, 0, 0, 0);\r
+}\r
+\r
+.spinbutton.button:insensitive {\r
+    background-image: -gtk-win32-theme-part(spin, 1 4);\r
+    color: rgba(0, 0, 0, 0);\r
+}\r
+\r
+.spinbutton.button.bottom,\r
+.spinbutton.button.bottom:focused {\r
+    border-width: 0 1px 1px 0;\r
+    background-image: -gtk-win32-theme-part(spin, 2 1);\r
+    color: rgba(0, 0, 0, 0);\r
+}\r
+\r
+.spinbutton.button.bottom:prelight,\r
+.spinbutton.button.bottom:prelight:focused {\r
+    background-image: -gtk-win32-theme-part(spin, 2 2);\r
+    color: rgba(0, 0, 0, 0);\r
+}\r
+\r
+.spinbutton.button.bottom:active,\r
+.spinbutton.button.bottom:active:prelight {\r
+    background-image: -gtk-win32-theme-part(spin, 2 3);\r
+    color: rgba(0, 0, 0, 0);\r
+}\r
+\r
+.spinbutton.button.bottom:insensitive {\r
+    background-image: -gtk-win32-theme-part(spin, 2 4);\r
+    color: rgba(0, 0, 0, 0);\r
+}\r
+\r
+/* Ranges */\r
+\r
+/* TODO: The trough is not quite right, it covers everything,\r
+   but in win32 the slider 'sticks out' on the sides of the\r
+   trough */\r
+\r
+.scale {\r
+    background-color: transparent;\r
+    -GtkScale-value-spacing: 0;\r
+    -GtkScale-slider-length: 9;\r
+    -GtkRange-slider-width: 20;\r
+    -GtkRange-trough-border: 0;\r
+}\r
+\r
+.scale.trough {\r
+    border-style: none;\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(trackbar, 1 1, margins (2 0 2 0));\r
+}\r
+\r
+.scale.trough.vertical {\r
+    background-image: -gtk-win32-theme-part(trackbar, 1 1, margins (0 2 0 2));\r
+}\r
+\r
+.scale.slider {\r
+    background-color: transparent;\r
+    border-width: 0;\r
+    color: rgba(0,0,0,0);\r
+    background-image: -gtk-win32-theme-part(trackbar, 3 1);\r
+}\r
+\r
+.scale.slider:prelight {\r
+    background-image: -gtk-win32-theme-part(trackbar, 3 2);\r
+}\r
+\r
+.scale.slider:active,\r
+.scale.slider:prelight:active {\r
+    background-image: -gtk-win32-theme-part(trackbar, 3 3);\r
+}\r
+\r
+.scale.slider:focus {\r
+    background-image: -gtk-win32-theme-part(trackbar, 3 4);\r
+}\r
+\r
+.scale.slider:insensitive {\r
+    background-image: -gtk-win32-theme-part(trackbar, 3 5);\r
+}\r
+\r
+.scale.slider.vertical {\r
+    background-image: -gtk-win32-theme-part(trackbar, 6 1);\r
+}\r
+\r
+.scale.slider.vertical:prelight {\r
+    background-image: -gtk-win32-theme-part(trackbar, 6 2);\r
+}\r
+\r
+.scale.slider.vertical:active,\r
+.scale.slider.vertical:prelight:active {\r
+    background-image: -gtk-win32-theme-part(trackbar, 6 3);\r
+}\r
+\r
+.scale.slider.vertical:focus {\r
+    background-image: -gtk-win32-theme-part(trackbar, 6 4);\r
+}\r
+\r
+.scale.slider.vertical:insensitive {\r
+    background-image: -gtk-win32-theme-part(trackbar, 6 5);\r
+}\r
+\r
+.scale.slider.scale-has-marks-below {\r
+    background-image: -gtk-win32-theme-part(trackbar, 4 1);\r
+}\r
+\r
+.scale.slider.scale-has-marks-below:prelight {\r
+    background-image: -gtk-win32-theme-part(trackbar, 4 2);\r
+}\r
+\r
+.scale.slider.scale-has-marks-below:active,\r
+.scale.slider.scale-has-marks-below:prelight:active {\r
+    background-image: -gtk-win32-theme-part(trackbar, 4 3);\r
+}\r
+\r
+.scale.slider.scale-has-marks-below:focus {\r
+    background-image: -gtk-win32-theme-part(trackbar, 4 4);\r
+}\r
+\r
+.scale.slider.scale-has-marks-below:insensitive {\r
+    background-image: -gtk-win32-theme-part(trackbar, 4 5);\r
+}\r
+\r
+.scale.slider.scale-has-marks-below.vertical {\r
+    background-image: -gtk-win32-theme-part(trackbar, 8 1);\r
+}\r
+\r
+.scale.slider.scale-has-marks-below.vertical:prelight {\r
+    background-image: -gtk-win32-theme-part(trackbar, 8 2);\r
+}\r
+\r
+.scale.slider.scale-has-marks-below.vertical:active,\r
+.scale.slider.scale-has-marks-below.vertical:prelight:active {\r
+    background-image: -gtk-win32-theme-part(trackbar, 8 3);\r
+}\r
+\r
+.scale.slider.scale-has-marks-below.vertical:focus {\r
+    background-image: -gtk-win32-theme-part(trackbar, 8 4);\r
+}\r
+\r
+.scale.slider.scale-has-marks-below.vertical:insensitive {\r
+    background-image: -gtk-win32-theme-part(trackbar, 8 5);\r
+}\r
+\r
+\r
+\r
+.scale.slider.scale-has-marks-above {\r
+    background-image: -gtk-win32-theme-part(trackbar, 5 1);\r
+}\r
+\r
+.scale.slider.scale-has-marks-above:prelight {\r
+    background-image: -gtk-win32-theme-part(trackbar, 5 2);\r
+}\r
+\r
+.scale.slider.scale-has-marks-above:active,\r
+.scale.slider.scale-has-marks-above:prelight:active {\r
+    background-image: -gtk-win32-theme-part(trackbar, 5 3);\r
+}\r
+\r
+.scale.slider.scale-has-marks-above:focus {\r
+    background-image: -gtk-win32-theme-part(trackbar, 5 4);\r
+}\r
+\r
+.scale.slider.scale-has-marks-above:insensitive {\r
+    background-image: -gtk-win32-theme-part(trackbar, 5 5);\r
+}\r
+\r
+.scale.slider.scale-has-marks-above.vertical {\r
+    background-image: -gtk-win32-theme-part(trackbar, 7 1);\r
+}\r
+\r
+.scale.slider.scale-has-marks-above.vertical:prelight {\r
+    background-image: -gtk-win32-theme-part(trackbar, 7 2);\r
+}\r
+\r
+.scale.slider.scale-has-marks-above.vertical:active,\r
+.scale.slider.scale-has-marks-above.vertical:prelight:active {\r
+    background-image: -gtk-win32-theme-part(trackbar, 7 3);\r
+}\r
+\r
+.scale.slider.scale-has-marks-above.vertical:focus {\r
+    background-image: -gtk-win32-theme-part(trackbar, 7 4);\r
+}\r
+\r
+.scale.slider.scale-has-marks-above.vertical:insensitive {\r
+    background-image: -gtk-win32-theme-part(trackbar, 7 5);\r
+}\r
+\r
+/* Progress bars */\r
+\r
+GtkProgressBar {\r
+    background-color: transparent;\r
+    padding: 0;\r
+}\r
+\r
+GtkProgressBar.trough {\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(progress, 1 1);\r
+}\r
+\r
+GtkProgressBar.progressbar,\r
+GtkEntry.progressbar {\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(progress, 5 1);\r
+}\r
+\r
+GtkProgressBar.progressbar.pulse,\r
+GtkEntry.progressbar.pulse {\r
+    background-color: transparent;\r
+    background-image: -gtk-win32-theme-part(progress, 8 1);\r
+}\r
+\r
+GtkProgressBar.trough.vertical {\r
+    background-image: -gtk-win32-theme-part(progress, 2 1);\r
+}\r
+\r
+.progressbar.vertical {\r
+    background-image: -gtk-win32-theme-part(progress, 6 1);\r
+}\r
+\r
+.progressbar.pulse.vertical {\r
+    background-image: -gtk-win32-theme-part(progress, 10 1);\r
+}\r
+\r
+/* Combobox */\r
+\r
+\r
+GtkComboBox.combobox-entry .button {\r
+    background-color: transparent;\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(combobox, 1 1);\r
+    color: rgba(0, 0, 0, 0);\r
+}\r
+\r
+GtkComboBox.combobox-entry .button:prelight,\r
+GtkComboBox.combobox-entry .button:focused,\r
+GtkComboBox.combobox-entry .button:prelight:focused {\r
+    background-image: -gtk-win32-theme-part(combobox, 1 2);\r
+}\r
+GtkComboBox.combobox-entry .button:active,\r
+GtkComboBox.combobox-entry .button:active:focused,\r
+GtkComboBox.combobox-entry .button:active:prelight,\r
+GtkComboBox.combobox-entry .button:active:focused:prelight {\r
+    background-image: -gtk-win32-theme-part(combobox, 1 3);\r
+}\r
+GtkComboBox.combobox-entry .button:insensitive {\r
+    background-image: -gtk-win32-theme-part(combobox, 1 4);\r
+}\r
+\r
+/* Notebook */\r
+\r
+.notebook {\r
+    background-color: #ffffff;\r
+    border-width: 1px 1px 1px 1px;\r
+    border-style: solid;\r
+    background-origin: padding-box;\r
+    background-clip: border-box;\r
+    background-image: -gtk-win32-theme-part(tab, 9 1, margins(-1 -3 -2 -1));\r
+    border-image: -gtk-win32-theme-part(tab, 9 1, margins(0 -2 -1 0)) 1 1 1 1 repeat;\r
+    -GtkNotebook-tab-overlap: 1;\r
+    -GtkNotebook-tab-curvature: 0;\r
+}\r
+\r
+.notebook tab {\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(tab, 1 1);\r
+    padding: 0px 4px 0px 4px;\r
+}\r
+\r
+.notebook tab.left, .notebook tab.right {\r
+    padding: 4px 0px 4px 0px;\r
+}\r
+\r
+.notebook tab:active {\r
+    background-image: -gtk-win32-theme-part(tab, 1 3, margins(0 0 -1 0));\r
+}\r
+.notebook tab:active.top {\r
+    padding: 0px 4px 2px 4px;\r
+}\r
+\r
+.notebook tab:active.bottom {\r
+    padding: 0px 4px 2px 4px;\r
+}\r
+\r
+.notebook tab:active.right {\r
+    padding: 4px 0px 4px 2px;\r
+}\r
+\r
+.notebook tab:active.left {\r
+    padding: 4px 2px 4px 0px;\r
+}\r
+\r
+/* Toolbar */\r
+\r
+.toolbar {\r
+    background-color: transparent;\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(rebar, 6 1);\r
+}\r
+\r
+.toolbar .button,\r
+.toolbar .button:focused {\r
+    background-color: transparent;\r
+    background-image: -gtk-win32-theme-part(toolbar, 1 1);\r
+}\r
+\r
+.toolbar .button:prelight,\r
+.toolbar .button:prelight:focused {\r
+    background-image: -gtk-win32-theme-part(toolbar, 1 2);\r
+}\r
+\r
+.toolbar .button:active {\r
+    background-image: -gtk-win32-theme-part(toolbar, 1 3);\r
+}\r
+\r
+.toolbar .button:active:prelight {\r
+    background-image: -gtk-win32-theme-part(toolbar, 1 6);\r
+}\r
+\r
+.toolbar .button:insensitive {\r
+    background-image: -gtk-win32-theme-part(toolbar, 1 4);\r
+}\r
+\r
+/* Column headers */\r
+\r
+column-header .button,\r
+column-header .button:focus {\r
+    background-color: transparent;\r
+    border-width: 0;\r
+    background-image: -gtk-win32-theme-part(header, 1 1);\r
+}\r
+\r
+column-header .button:prelight,\r
+column-header .button:prelight:focus {\r
+    background-image: -gtk-win32-theme-part(header, 1 2);\r
+}\r
+\r
+column-header .button:active,\r
+column-header .button:active:prelight,\r
+column-header .button:active:focus,\r
+column-header .button:active:prelight:focus {\r
+    background-image: -gtk-win32-theme-part(header, 1 3);\r
+}\r
+\r
+GtkSwitch {\r
+    font: bold condensed 10;\r
+    color: -gtk-win32-color(button, 18);\r
+}\r
+\r
+GtkSwitch.slider {\r
+    padding: 4px;\r
+    background-color: transparent;\r
+    background-image: -gtk-win32-theme-part(scrollbar, 2 1, over (8 1));\r
+    border-width: 0;\r
+}\r
+\r
+GtkSwitch.trough:insensitive {\r
+    background-image: -gtk-win32-theme-part(button, 1 4);\r
+}\r
+\r
+GtkSwitch.trough {\r
+    background-image: -gtk-win32-theme-part(button, 1 1);\r
+}\r
+\r
+GtkSwitch.trough:active {\r
+    background-image: -gtk-win32-theme-part(button, 1 2);\r
+}
\ No newline at end of file
diff --git a/gtk/gtk-win32-xp.css b/gtk/gtk-win32-xp.css
new file mode 100644 (file)
index 0000000..65965b0
--- /dev/null
@@ -0,0 +1 @@
+@import url("gtk-win32-base.css");
index 3b78c93d281c7cdb0f3952dc044950d0625f762e..c3a216e9afd355479281103d03c1d6b1919982aa 100644 (file)
@@ -1,592 +1,4 @@
-@define-color bg_color -gtk-win32-color(button, 15);
-@define-color text_color -gtk-win32-color(button, 18);
-@define-color base_color #fff;
-@define-color selected_bg_color -gtk-win32-color(button, 13);
-@define-color selected_fg_color -gtk-win32-color(button, 14);
-@define-color info_fg_color rgb (181, 171, 156);
-@define-color info_bg_color rgb (252, 252, 189);
-@define-color warning_fg_color rgb (173, 120, 41);
-@define-color warning_bg_color rgb (250, 173, 61);
-@define-color question_fg_color rgb (97, 122, 214);
-@define-color question_bg_color rgb (138, 173, 212);
-@define-color error_fg_color rgb (166, 38, 38);
-@define-color error_bg_color rgb (237, 54, 54);
-
-GtkWindow,
-GtkViewport {
-    background-color: @bg_color;
-}
-
-* {
-    color: -gtk-win32-color(button, 18);
-    -GtkWidget-link-color: -gtk-win32-color(button, 26);
-    -GtkWidget-visited-link-color: -gtk-win32-color(button, 26);
-    border-color: shade (@bg_color, 0.6);
-}
-
-GtkFrame {
-    border-width: 2px;
-    border-style: solid;
-    background-color: transparent;
-    border-image: -gtk-win32-theme-part(button, 4 1) 2 2 2 2 stretch;
-}
-
-*:insensitive {
-    color: -gtk-win32-color(button, 17);
-}
-
-*:selected,
-*:selected:focus {
-    background-color: @selected_bg_color;
-    color: @selected_fg_color;
-}
-
-.info {
-    background-color: @info_bg_color;
-    color: @info_fg_color;
-}
-
-.warning {
-    background-color: @warning_bg_color;
-    color: @warning_fg_color;
-}
-
-.question {
-    background-color: @question_bg_color;
-    color: @question_fg_color;
-}
-
-.error {
-    background-color: @error_bg_color;
-    color: @error_fg_color;
-}
-
-.highlight {
-    background-color: @selected_bg_color;
-    color: @selected_fg_color;
-}
-
-.light-area-focus {
-    color: #000;
-}
-
-.dark-area-focus {
-    color: #fff;
-}
-
-.view {
-  border-width: 0;
-  border-radius: 0;
-  background-color: @base_color;
-  color: @text_color;
-}
-
-.view:selected {
-  background-color: shade (@bg_color, 0.9);
-  color: @fg_color;
-}
-
-.view:selected:focused {
-  background-color: @selected_bg_color;
-  color: @selected_fg_color;
-}
-
-.tooltip {
-    background-color: -gtk-win32-color(button, 24);
-    color: -gtk-win32-color(button, 23);
-    border-width: 1px;
-    border-style: solid;
-}
-
-.tooltip * {
-    color: -gtk-win32-color(button, 23);
-}
-
-GtkAssistant .sidebar .highlight {
-    font: bold;
-    color:  -gtk-win32-color(button, 9);
-}
-
-/* Buttons */
-
-.button {
-    color: -gtk-win32-color(button, 18);
-    background-color: transparent;
-    background-image: -gtk-win32-theme-part(button, 1 1);
-    border-width: 0;
-    -GtkWidget-focus-line-width: 1;
-    -GtkWidget-focus-padding: 3;
-    -GtkButton-interior-focuse: true;
-    padding: 3px;
-}
-
-.button:insensitive {
-    background-image: -gtk-win32-theme-part(button, 1 4);
-}
-
-.button:focused {
-    background-image: -gtk-win32-theme-part(button, 1 5);
-}
-
-.button:prelight, .button:prelight:focused {
-    background-image: -gtk-win32-theme-part(button, 1 2);
-    color: #000000;
-}
-
-.button:active, .button:active:focused, .button:active:focused:prelight {
-    background-image: -gtk-win32-theme-part(button, 1 3);
-}
-
-/* Check buttons */
-
-.check {
-    background-color: transparent;
-    background-image: -gtk-win32-theme-part(button, 3 1);
-    border-width: 0;
-}
-
-.check:insensitive {
-    background-image: -gtk-win32-theme-part(button, 3 4);
-}
-
-.check:prelight {
-    background-image: -gtk-win32-theme-part(button, 3 2);
-}
-
-.check:active {
-    background-image: -gtk-win32-theme-part(button, 3 5);
-}
-
-.check:active:insensitive {
-    background-image: -gtk-win32-theme-part(button, 3 8);
-}
-
-.check:active:prelight {
-    background-image: -gtk-win32-theme-part(button, 3 6);
-}
-
-.check:inconsistent {
-    background-image: -gtk-win32-theme-part(button, 3 9);
-}
-
-.check:inconsistent:insensitive {
-    background-image: -gtk-win32-theme-part(button, 3 12);
-}
-
-.check:inconsistent:prelight {
-    background-image: -gtk-win32-theme-part(button, 3 10);
-}
-
-/* Radio buttons */
-
-.radio {
-    background-color: transparent;
-    background-image: -gtk-win32-theme-part(button, 2 1);
-    border-width: 0;
-}
-
-.radio:insensitive {
-    background-image: -gtk-win32-theme-part(button, 2 4);
-}
-
-.radio:prelight {
-    background-image: -gtk-win32-theme-part(button, 2 2);
-}
-
-.radio:active {
-    background-image: -gtk-win32-theme-part(button, 2 5);
-}
-
-.radio:active:insensitive {
-    background-image: -gtk-win32-theme-part(button, 2 8);
-}
-
-.radio:active:prelight {
-    background-image: -gtk-win32-theme-part(button, 2 6);
-}
-
-.radio:inconsistent {
-    background-image: -gtk-win32-theme-part(button, 2 1, over (2 5, 0.3));
-}
-
-.radio:inconsistent:insensitive {
-    background-image: -gtk-win32-theme-part(button, 2 4, over (2 8, 0.3));
-}
-
-.radio:inconsistent:prelight {
-    background-image: -gtk-win32-theme-part(button, 2 4, over(2 6, 0.3));
-}
-
-/* Scrollbars */
-
-/* TODO: Win32 has different concept for upper and lower trough, we
-   don't use this atm */
-
-.scrollbar {
-    background-color: transparent;
-    -GtkRange-trough-border: 0;
-    -GtkRange-arrow-scaling: 0.0;
-    -GtkRange-slider-width: -gtk-win32-size(scrollbar, 3);
-}
-
-.scrollbar.vertical {
-    -GtkRange-slider-width: -gtk-win32-size(scrollbar, 2);
-}
-
-.scrollbar.button.bottom {
-    background-image: -gtk-win32-theme-part(scrollbar, 1 5);
-}
-
-.scrollbar.button.bottom:prelight {
-    background-image: -gtk-win32-theme-part(scrollbar, 1 6);
-}
-
-.scrollbar.button.bottom:active,
-.scrollbar.button.bottom:active:prelight {
-    background-image: -gtk-win32-theme-part(scrollbar, 1 7);
-}
-
-.scrollbar.button.bottom:insensitive {
-    background-image: -gtk-win32-theme-part(scrollbar, 1 8);
-}
-
-.scrollbar.button.top {
-    background-image: -gtk-win32-theme-part(scrollbar, 1 1);
-}
-
-.scrollbar.button.top:prelight {
-    background-image: -gtk-win32-theme-part(scrollbar, 1 2);
-}
-
-.scrollbar.button.top:active,
-.scrollbar.button.top:active:prelight {
-    background-image: -gtk-win32-theme-part(scrollbar, 1 3);
-}
-
-.scrollbar.button.top:insensitive {
-    background-image: -gtk-win32-theme-part(scrollbar, 1 4);
-}
-
-.scrollbar.button.left {
-    background-image: -gtk-win32-theme-part(scrollbar, 1 9);
-}
-
-.scrollbar.button.left:prelight {
-    background-image: -gtk-win32-theme-part(scrollbar, 1 10);
-}
-
-.scrollbar.button.left:active,
-.scrollbar.button.left:active:prelight {
-    background-image: -gtk-win32-theme-part(scrollbar, 1 11);
-}
-
-.scrollbar.button.left:insensitive {
-    background-image: -gtk-win32-theme-part(scrollbar, 1 12);
-}
-
-.scrollbar.button.right {
-    background-image: -gtk-win32-theme-part(scrollbar, 1 13);
-}
-
-.scrollbar.button.right:prelight {
-    background-image: -gtk-win32-theme-part(scrollbar, 1 14);
-}
-
-.scrollbar.button.right:active,
-.scrollbar.button.right:active:prelight {
-    background-image: -gtk-win32-theme-part(scrollbar, 1 15);
-}
-
-.scrollbar.button.right:insensitive {
-    background-image: -gtk-win32-theme-part(scrollbar, 1 16);
-}
-
-.scrollbar.trough {
-    border-width: 0;
-    background-image: -gtk-win32-theme-part(scrollbar, 2 1, over (4 1));
-}
-
-.scrollbar.trough.vertical {
-    border-width: 0;
-    background-image: -gtk-win32-theme-part(scrollbar, 2 1, over (6 1));
-}
-
-.scrollbar.slider {
-    border-width: 0;
-    background-image: -gtk-win32-theme-part(scrollbar, 2 1, over (8 1));
-}
-
-.scrollbar.slider:prelight {
-    background-image: -gtk-win32-theme-part(scrollbar, 2 2, over (8 2));
-}
-
-.scrollbar.slider.vertical {
-    background-image: -gtk-win32-theme-part(scrollbar, 3 1, over (9 1));
-}
-
-.scrollbar.slider.vertical:prelight {
-    background-image: -gtk-win32-theme-part(scrollbar, 3 2, over (9 2));
-}
-
-/* Entry */
-
-/* TODO: For entries with set_has_frame FALSE we should use 'edit, 3 1', not 
-   sure how to select for this though */
-.entry {
-    background-color: black;
-    border-width: 0;
-    background-image: -gtk-win32-theme-part(edit, 1 1);
-    padding: 3px;
-}
-.entry:insensitive {
-    background-image: -gtk-win32-theme-part(edit, 1 4);
-}
-.entry:prelight {
-    background-image: -gtk-win32-theme-part(edit, 1 4);
-}
-
-/* Spinbuttons */
-
-.spinbutton.button,
-.spinbutton.button:focused {
-    background-color: transparent;
-    border-width: 1px 1px 0 0;
-    border-style: none;
-    background-image: -gtk-win32-theme-part(spin, 1 1);
-    color: rgba(0, 0, 0, 0);
-}
-
-.spinbutton.button:prelight,
-.spinbutton.button:prelight:focused {
-    background-image: -gtk-win32-theme-part(spin, 1 2);
-    color: rgba(0, 0, 0, 0);
-}
-
-.spinbutton.button:active,
-.spinbutton.button:active:prelight {
-    background-image: -gtk-win32-theme-part(spin, 1 3);
-    color: rgba(0, 0, 0, 0);
-}
-
-.spinbutton.button:insensitive {
-    background-image: -gtk-win32-theme-part(spin, 1 4);
-    color: rgba(0, 0, 0, 0);
-}
-
-.spinbutton.button.bottom,
-.spinbutton.button.bottom:focused {
-    border-width: 0 1px 1px 0;
-    background-image: -gtk-win32-theme-part(spin, 2 1);
-    color: rgba(0, 0, 0, 0);
-}
-
-.spinbutton.button.bottom:prelight,
-.spinbutton.button.bottom:prelight:focused {
-    background-image: -gtk-win32-theme-part(spin, 2 2);
-    color: rgba(0, 0, 0, 0);
-}
-
-.spinbutton.button.bottom:active,
-.spinbutton.button.bottom:active:prelight {
-    background-image: -gtk-win32-theme-part(spin, 2 3);
-    color: rgba(0, 0, 0, 0);
-}
-
-.spinbutton.button.bottom:insensitive {
-    background-image: -gtk-win32-theme-part(spin, 2 4);
-    color: rgba(0, 0, 0, 0);
-}
-
-/* Ranges */
-
-/* TODO: The trough is not quite right, it covers everything,
-   but in win32 the slider 'sticks out' on the sides of the
-   trough */
-
-.scale {
-    background-color: transparent;
-    -GtkScale-value-spacing: 0;
-    -GtkScale-slider-length: 9;
-    -GtkRange-slider-width: 20;
-    -GtkRange-trough-border: 0;
-}
-
-.scale.trough {
-    border-style: none;
-    border-width: 0;
-    background-image: -gtk-win32-theme-part(trackbar, 1 1, margins (2 0 2 0));
-}
-
-.scale.trough.vertical {
-    background-image: -gtk-win32-theme-part(trackbar, 1 1, margins (0 2 0 2));
-}
-
-.scale.slider {
-    background-color: transparent;
-    border-width: 0;
-    color: rgba(0,0,0,0);
-    background-image: -gtk-win32-theme-part(trackbar, 3 1);
-}
-
-.scale.slider:prelight {
-    background-image: -gtk-win32-theme-part(trackbar, 3 2);
-}
-
-.scale.slider:active,
-.scale.slider:prelight:active {
-    background-image: -gtk-win32-theme-part(trackbar, 3 3);
-}
-
-.scale.slider:focus {
-    background-image: -gtk-win32-theme-part(trackbar, 3 4);
-}
-
-.scale.slider:insensitive {
-    background-image: -gtk-win32-theme-part(trackbar, 3 5);
-}
-
-.scale.slider.vertical {
-    background-image: -gtk-win32-theme-part(trackbar, 6 1);
-}
-
-.scale.slider.vertical:prelight {
-    background-image: -gtk-win32-theme-part(trackbar, 6 2);
-}
-
-.scale.slider.vertical:active,
-.scale.slider.vertical:prelight:active {
-    background-image: -gtk-win32-theme-part(trackbar, 6 3);
-}
-
-.scale.slider.vertical:focus {
-    background-image: -gtk-win32-theme-part(trackbar, 6 4);
-}
-
-.scale.slider.vertical:insensitive {
-    background-image: -gtk-win32-theme-part(trackbar, 6 5);
-}
-
-.scale.slider.scale-has-marks-below {
-    background-image: -gtk-win32-theme-part(trackbar, 4 1);
-}
-
-.scale.slider.scale-has-marks-below:prelight {
-    background-image: -gtk-win32-theme-part(trackbar, 4 2);
-}
-
-.scale.slider.scale-has-marks-below:active,
-.scale.slider.scale-has-marks-below:prelight:active {
-    background-image: -gtk-win32-theme-part(trackbar, 4 3);
-}
-
-.scale.slider.scale-has-marks-below:focus {
-    background-image: -gtk-win32-theme-part(trackbar, 4 4);
-}
-
-.scale.slider.scale-has-marks-below:insensitive {
-    background-image: -gtk-win32-theme-part(trackbar, 4 5);
-}
-
-.scale.slider.scale-has-marks-below.vertical {
-    background-image: -gtk-win32-theme-part(trackbar, 8 1);
-}
-
-.scale.slider.scale-has-marks-below.vertical:prelight {
-    background-image: -gtk-win32-theme-part(trackbar, 8 2);
-}
-
-.scale.slider.scale-has-marks-below.vertical:active,
-.scale.slider.scale-has-marks-below.vertical:prelight:active {
-    background-image: -gtk-win32-theme-part(trackbar, 8 3);
-}
-
-.scale.slider.scale-has-marks-below.vertical:focus {
-    background-image: -gtk-win32-theme-part(trackbar, 8 4);
-}
-
-.scale.slider.scale-has-marks-below.vertical:insensitive {
-    background-image: -gtk-win32-theme-part(trackbar, 8 5);
-}
-
-
-
-.scale.slider.scale-has-marks-above {
-    background-image: -gtk-win32-theme-part(trackbar, 5 1);
-}
-
-.scale.slider.scale-has-marks-above:prelight {
-    background-image: -gtk-win32-theme-part(trackbar, 5 2);
-}
-
-.scale.slider.scale-has-marks-above:active,
-.scale.slider.scale-has-marks-above:prelight:active {
-    background-image: -gtk-win32-theme-part(trackbar, 5 3);
-}
-
-.scale.slider.scale-has-marks-above:focus {
-    background-image: -gtk-win32-theme-part(trackbar, 5 4);
-}
-
-.scale.slider.scale-has-marks-above:insensitive {
-    background-image: -gtk-win32-theme-part(trackbar, 5 5);
-}
-
-.scale.slider.scale-has-marks-above.vertical {
-    background-image: -gtk-win32-theme-part(trackbar, 7 1);
-}
-
-.scale.slider.scale-has-marks-above.vertical:prelight {
-    background-image: -gtk-win32-theme-part(trackbar, 7 2);
-}
-
-.scale.slider.scale-has-marks-above.vertical:active,
-.scale.slider.scale-has-marks-above.vertical:prelight:active {
-    background-image: -gtk-win32-theme-part(trackbar, 7 3);
-}
-
-.scale.slider.scale-has-marks-above.vertical:focus {
-    background-image: -gtk-win32-theme-part(trackbar, 7 4);
-}
-
-.scale.slider.scale-has-marks-above.vertical:insensitive {
-    background-image: -gtk-win32-theme-part(trackbar, 7 5);
-}
-
-/* Progress bars */
-
-GtkProgressBar {
-    background-color: transparent;
-    padding: 0;
-}
-
-GtkProgressBar.trough {
-    border-width: 0;
-    background-image: -gtk-win32-theme-part(progress, 1 1);
-}
-
-GtkProgressBar.progressbar,
-GtkEntry.progressbar {
-    border-width: 0;
-    background-image: -gtk-win32-theme-part(progress, 5 1);
-}
-
-GtkProgressBar.progressbar.pulse,
-GtkEntry.progressbar.pulse {
-    background-color: transparent;
-    background-image: -gtk-win32-theme-part(progress, 8 1);
-}
-
-GtkProgressBar.trough.vertical {
-    background-image: -gtk-win32-theme-part(progress, 2 1);
-}
-
-.progressbar.vertical {
-    background-image: -gtk-win32-theme-part(progress, 6 1);
-}
-
-.progressbar.pulse.vertical {
-    background-image: -gtk-win32-theme-part(progress, 10 1);
-}
+@import url("gtk-win32-base.css");
 
 /* Menus */
 
@@ -685,147 +97,3 @@ GtkProgressBar.trough.vertical {
     background-image: -gtk-win32-theme-part(menu, 11 2);
     border-width: 0;
 }
-
-/* Combobox */
-
-
-GtkComboBox.combobox-entry .button {
-    background-color: transparent;
-    border-width: 0;
-    background-image: -gtk-win32-theme-part(combobox, 1 1);
-    color: rgba(0, 0, 0, 0);
-}
-
-GtkComboBox.combobox-entry .button:prelight,
-GtkComboBox.combobox-entry .button:focused,
-GtkComboBox.combobox-entry .button:prelight:focused {
-    background-image: -gtk-win32-theme-part(combobox, 1 2);
-}
-GtkComboBox.combobox-entry .button:active,
-GtkComboBox.combobox-entry .button:active:focused,
-GtkComboBox.combobox-entry .button:active:prelight,
-GtkComboBox.combobox-entry .button:active:focused:prelight {
-    background-image: -gtk-win32-theme-part(combobox, 1 3);
-}
-GtkComboBox.combobox-entry .button:insensitive {
-    background-image: -gtk-win32-theme-part(combobox, 1 4);
-}
-
-/* Notebook */
-
-.notebook {
-    background-color: #ffffff;
-    border-width: 1px 1px 1px 1px;
-    border-style: solid;
-    background-origin: padding-box;
-    background-clip: border-box;
-    background-image: -gtk-win32-theme-part(tab, 9 1, margins(-1 -3 -2 -1));
-    border-image: -gtk-win32-theme-part(tab, 9 1, margins(0 -2 -1 0)) 1 1 1 1 repeat;
-    -GtkNotebook-tab-overlap: 1;
-    -GtkNotebook-tab-curvature: 0;
-}
-
-.notebook tab {
-    border-width: 0;
-    background-image: -gtk-win32-theme-part(tab, 1 1);
-    padding: 0px 4px 0px 4px;
-}
-
-.notebook tab.left, .notebook tab.right {
-    padding: 4px 0px 4px 0px;
-}
-
-.notebook tab:active {
-    background-image: -gtk-win32-theme-part(tab, 1 3, margins(0 0 -1 0));
-}
-.notebook tab:active.top {
-    padding: 0px 4px 2px 4px;
-}
-
-.notebook tab:active.bottom {
-    padding: 0px 4px 2px 4px;
-}
-
-.notebook tab:active.right {
-    padding: 4px 0px 4px 2px;
-}
-
-.notebook tab:active.left {
-    padding: 4px 2px 4px 0px;
-}
-
-/* Toolbar */
-
-.toolbar {
-    background-color: transparent;
-    border-width: 0;
-    background-image: -gtk-win32-theme-part(rebar, 6 1);
-}
-
-.toolbar .button,
-.toolbar .button:focused {
-    background-color: transparent;
-    background-image: -gtk-win32-theme-part(toolbar, 1 1);
-}
-
-.toolbar .button:prelight,
-.toolbar .button:prelight:focused {
-    background-image: -gtk-win32-theme-part(toolbar, 1 2);
-}
-
-.toolbar .button:active {
-    background-image: -gtk-win32-theme-part(toolbar, 1 3);
-}
-
-.toolbar .button:active:prelight {
-    background-image: -gtk-win32-theme-part(toolbar, 1 6);
-}
-
-.toolbar .button:insensitive {
-    background-image: -gtk-win32-theme-part(toolbar, 1 4);
-}
-
-/* Column headers */
-
-column-header .button,
-column-header .button:focus {
-    background-color: transparent;
-    border-width: 0;
-    background-image: -gtk-win32-theme-part(header, 1 1);
-}
-
-column-header .button:prelight,
-column-header .button:prelight:focus {
-    background-image: -gtk-win32-theme-part(header, 1 2);
-}
-
-column-header .button:active,
-column-header .button:active:prelight,
-column-header .button:active:focus,
-column-header .button:active:prelight:focus {
-    background-image: -gtk-win32-theme-part(header, 1 3);
-}
-
-GtkSwitch {
-    font: bold condensed 10;
-    color: -gtk-win32-color(button, 18);
-}
-
-GtkSwitch.slider {
-    padding: 4px;
-    background-color: transparent;
-    background-image: -gtk-win32-theme-part(scrollbar, 2 1, over (8 1));
-    border-width: 0;
-}
-
-GtkSwitch.trough:insensitive {
-    background-image: -gtk-win32-theme-part(button, 1 4);
-}
-
-GtkSwitch.trough {
-    background-image: -gtk-win32-theme-part(button, 1 1);
-}
-
-GtkSwitch.trough:active {
-    background-image: -gtk-win32-theme-part(button, 1 2);
-}
\ No newline at end of file
index cabb173d6a1305e7b836d66dfb24113c0e386da8..15af2f6265e1e4321cea6e99c54f78a3638d9d38 100644 (file)
@@ -3,6 +3,8 @@
   <gresource prefix="/org/gtk/libgtk">
     <file alias="Raleigh.css">gtk-default.css</file>
     <file>gtk-win32.css</file>
+    <file>gtk-win32-xp.css</file>
+    <file>gtk-win32-base.css</file>
     <file alias="cursor/dnd-ask.png">cursor_dnd_ask.png</file>
     <file alias="cursor/dnd-link.png">cursor_dnd_link.png</file>
     <file alias="cursor/dnd-none.png">cursor_dnd_none.png</file>
index 04926f4e627c8eef99164b6cc108e0a8eb9fbdd7..2e17430fcb9e59befc0a0e22b1d1cbe5cab33281 100644 (file)
 #include "quartz/gdkquartz.h"
 #endif
 
+#ifdef GDK_WINDOWING_WIN32
+#include <windows.h>
+#endif
+
 #undef GDK_DEPRECATED
 #undef GDK_DEPRECATED_FOR
 #define GDK_DEPRECATED
@@ -327,6 +331,14 @@ gtk_settings_class_init (GtkSettingsClass *class)
 {
   GObjectClass *gobject_class = G_OBJECT_CLASS (class);
   guint result;
+#ifdef G_OS_WIN32
+  OSVERSIONINFO version;
+  BOOL version_res;
+
+  memset (&version, 0, sizeof (version));
+  version.dwOSVersionInfoSize = sizeof (version);
+  version_res = GetVersionEx (&version);
+#endif
 
   gobject_class->finalize = gtk_settings_finalize;
   gobject_class->get_property = gtk_settings_get_property;
@@ -408,7 +420,9 @@ gtk_settings_class_init (GtkSettingsClass *class)
                                                                    P_("Theme Name"),
                                                                    P_("Name of theme to load"),
 #ifdef G_OS_WIN32
-                                                                 "gtk-win32",
+                                                                 (version_res && version.dwMajorVersion >= 6) ?
+                                                                 "gtk-win32" :
+                                                                 "gtk-win32-xp",
 #else
                                                                   "Raleigh",
 #endif